{
  "__inputs": [
    {
      "name": "DS_SQLITE",
      "label": "SQLite",
      "description": "",
      "type": "datasource",
      "pluginId": "frser-sqlite-datasource",
      "pluginName": "SQLite"
    }
  ],
  "__elements": {},
  "__requires": [
    {
      "type": "panel",
      "id": "barchart",
      "name": "Bar chart",
      "version": ""
    },
    {
      "type": "panel",
      "id": "bargauge",
      "name": "Bar gauge",
      "version": ""
    },
    {
      "type": "datasource",
      "id": "frser-sqlite-datasource",
      "name": "SQLite",
      "version": "3.5.0"
    },
    {
      "type": "grafana",
      "id": "grafana",
      "name": "Grafana",
      "version": "10.4.1"
    },
    {
      "type": "panel",
      "id": "piechart",
      "name": "Pie chart",
      "version": ""
    },
    {
      "type": "panel",
      "id": "stat",
      "name": "Stat",
      "version": ""
    },
    {
      "type": "panel",
      "id": "table",
      "name": "Table",
      "version": ""
    },
    {
      "type": "panel",
      "id": "timeseries",
      "name": "Time series",
      "version": ""
    }
  ],
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": {
          "type": "grafana",
          "uid": "-- Grafana --"
        },
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  },
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 0,
  "id": null,
  "links": [],
  "panels": [
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 0,
        "y": 0
      },
      "id": 10,
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT COUNT(DISTINCT ip) AS count\nFROM hosts\nWHERE start_time >= $__from AND end_time <= $__to;\n",
          "queryType": "table",
          "rawQueryText": "SELECT COUNT(DISTINCT ip) AS count\nFROM hosts\nWHERE start_time >= $__from AND end_time <= $__to;\n",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Hosts Up",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "fixedColor": "#4ecda7",
            "mode": "shades"
          },
          "custom": {
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            }
          },
          "mappings": []
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 5,
        "x": 2,
        "y": 0
      },
      "id": 13,
      "options": {
        "displayLabels": [],
        "legend": {
          "displayMode": "list",
          "placement": "right",
          "showLegend": true,
          "values": [
            "percent"
          ]
        },
        "pieType": "donut",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "    \nSELECT\n  os,\n  COUNT(*) AS \"count\"\nFROM hosts\nWHERE start_time >= $__from AND end_time < $__to\nGROUP BY os\nORDER BY count DESC;\n\n    \n",
          "queryType": "table",
          "rawQueryText": "    \nSELECT\n  os,\n  COUNT(*) AS \"count\"\nFROM hosts\nWHERE start_time >= $__from AND end_time < $__to\nGROUP BY os\nORDER BY count DESC;\n\n    \n",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Operating Systems",
      "type": "piechart"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "fixedColor": "#4ecda7",
            "mode": "shades"
          },
          "custom": {
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            }
          },
          "mappings": []
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 5,
        "x": 7,
        "y": 0
      },
      "id": 3,
      "options": {
        "legend": {
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "pieType": "pie",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT p.port, COUNT(*) AS count\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to\n AND p.service_info = '' AND p.state = 'open'\nGROUP BY p.port",
          "queryType": "table",
          "rawQueryText": "SELECT p.port, COUNT(*) AS count\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to\n AND p.service_info = '' AND p.state = 'open'\nGROUP BY p.port",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Unidentified Services (open port)",
      "type": "piechart"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "custom": {
            "align": "auto",
            "cellOptions": {
              "type": "auto"
            },
            "inspect": false
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "count"
            },
            "properties": [
              {
                "id": "custom.cellOptions",
                "value": {
                  "mode": "basic",
                  "type": "gauge"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 12,
        "w": 12,
        "x": 12,
        "y": 0
      },
      "id": 4,
      "options": {
        "cellHeight": "sm",
        "footer": {
          "countRows": false,
          "fields": "",
          "reducer": [
            "sum"
          ],
          "show": false
        },
        "showHeader": true,
        "sortBy": [
          {
            "desc": true,
            "displayName": "count"
          }
        ]
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT p.service_info, COUNT(*) AS count\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to\nAND p.service_info IS NOT NULL AND p.service_info <> ''\nGROUP BY p.service_info\n",
          "queryType": "table",
          "rawQueryText": "SELECT p.service_info, COUNT(*) AS count\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to\nAND p.service_info IS NOT NULL AND p.service_info <> ''\nGROUP BY p.service_info\n",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Identified Services",
      "type": "table"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 5
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 0,
        "y": 3
      },
      "id": 8,
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT SUM(unique_open_ports) AS total_unique_open_ports\nFROM (\n  SELECT\n    COUNT(DISTINCT p.port) AS unique_open_ports,\n    h.ip AS host_ip\n  FROM ports p\n  JOIN hosts h ON p.host_id = h.id\n  WHERE p.state = 'open' AND h.start_time >= $__from AND h.end_time < $__to\n  GROUP BY h.ip, p.port\n) AS subquery;\n    ",
          "queryType": "table",
          "rawQueryText": "SELECT SUM(unique_open_ports) AS total_unique_open_ports\nFROM (\n  SELECT\n    COUNT(DISTINCT p.port) AS unique_open_ports,\n    h.ip AS host_ip\n  FROM ports p\n  JOIN hosts h ON p.host_id = h.id\n  WHERE p.state = 'open' AND h.start_time >= $__from AND h.end_time < $__to\n  GROUP BY h.ip, p.port\n) AS subquery;\n    ",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Open Ports",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 0,
        "y": 6
      },
      "id": 7,
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT\n  COUNT(DISTINCT p.port) AS \"Unique Ports\"\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to AND p.state is 'open'\n",
          "queryType": "table",
          "rawQueryText": "SELECT\n  COUNT(DISTINCT p.port) AS \"Unique Ports\"\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to AND p.state is 'open'\n",
          "refId": "SELECT   COUNT(DISTINCT p.port) AS \"Unique Ports\" FROM ports p JOIN hosts h ON p.host_id = h.id WHERE h.start_time >= $__from AND h.end_time < $__to",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Unique Ports",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "custom": {
            "axisBorderShow": false,
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "fillOpacity": 60,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineWidth": 1,
            "scaleDistribution": {
              "type": "linear"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "none"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 5,
        "w": 10,
        "x": 2,
        "y": 7
      },
      "id": 5,
      "options": {
        "barRadius": 0.05,
        "barWidth": 0.95,
        "fullHighlight": false,
        "groupWidth": 0.7,
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": false
        },
        "orientation": "auto",
        "showValue": "auto",
        "stacking": "none",
        "tooltip": {
          "mode": "single",
          "sort": "none"
        },
        "xField": "port",
        "xTickLabelRotation": -45,
        "xTickLabelSpacing": 0
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT\n  p.port,\n  COUNT(DISTINCT h.ip) AS host_count\nFROM\n  hosts h\n  JOIN ports p ON h.id = p.host_id\nWHERE\n  p.state = 'open' AND h.start_time >= $__from AND h.end_time < $__to\nGROUP BY\n  p.port;",
          "queryType": "table",
          "rawQueryText": "SELECT\n  p.port,\n  COUNT(DISTINCT h.ip) AS host_count\nFROM\n  hosts h\n  JOIN ports p ON h.id = p.host_id\nWHERE\n  p.state = 'open' AND h.start_time >= $__from AND h.end_time < $__to\nGROUP BY\n  p.port;",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Open Ports Found",
      "type": "barchart"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 3,
        "w": 2,
        "x": 0,
        "y": 9
      },
      "id": 9,
      "options": {
        "colorMode": "value",
        "graphMode": "area",
        "justifyMode": "auto",
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": true
        },
        "showPercentChange": false,
        "textMode": "auto",
        "wideLayout": true
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT\n  COUNT(*) AS count\nFROM scans\nWHERE\n  start_time >= $__from / 1000\n  AND start_time + elapsed_time < $__to / 1000",
          "queryType": "table",
          "rawQueryText": "SELECT\n  COUNT(*) AS count\nFROM scans\nWHERE\n  start_time >= $__from / 1000\n  AND start_time + elapsed_time < $__to / 1000",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Scans",
      "type": "stat"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "custom": {
            "align": "auto",
            "cellOptions": {
              "type": "auto"
            },
            "filterable": true,
            "inspect": false
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 5
              }
            ]
          }
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "port"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 85
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "protocol"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 115
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "ip"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 110
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "ports_tested"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 135
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "ports_closed"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 132
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "ports_filtered"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 111
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "hostname"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 165
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "ports_open"
            },
            "properties": [
              {
                "id": "custom.cellOptions",
                "value": {
                  "mode": "basic",
                  "type": "gauge",
                  "valueDisplayMode": "color"
                }
              },
              {
                "id": "fieldMinMax",
                "value": true
              },
              {
                "id": "custom.width",
                "value": 293
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 13,
        "w": 15,
        "x": 0,
        "y": 12
      },
      "id": 6,
      "options": {
        "cellHeight": "sm",
        "footer": {
          "countRows": false,
          "fields": "",
          "reducer": [
            "sum"
          ],
          "show": false
        },
        "showHeader": true,
        "sortBy": []
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT ip, hostname, ports_tested, ports_open, ports_closed, ports_filtered FROM hosts\nWHERE start_time >= $__from AND end_time < $__to",
          "queryType": "table",
          "rawQueryText": "SELECT ip, hostname, ports_tested, ports_open, ports_closed, ports_filtered FROM hosts\nWHERE start_time >= $__from AND end_time < $__to",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Hosts",
      "type": "table"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "fixedColor": "#4ecda7",
            "mode": "shades"
          },
          "custom": {
            "axisBorderShow": false,
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisGridShow": false,
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "bars",
            "fillOpacity": 0,
            "gradientMode": "hue",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "linear",
            "lineWidth": 5,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 80
              }
            ]
          }
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "elapsed_time"
            },
            "properties": [
              {
                "id": "unit",
                "value": "s"
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 4,
        "w": 9,
        "x": 15,
        "y": 12
      },
      "id": 11,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT\n  start_time AS \"time\",\n  total_open_ports AS \"open_ports\",\n  total_hosts\nFROM scans\nWHERE\n  start_time >= $__from / 1000\n  AND start_time + elapsed_time < $__to / 1000\nORDER BY start_time",
          "queryType": "table",
          "rawQueryText": "SELECT\n  start_time AS \"time\",\n  total_open_ports AS \"open_ports\",\n  total_hosts\nFROM scans\nWHERE\n  start_time >= $__from / 1000\n  AND start_time + elapsed_time < $__to / 1000\nORDER BY start_time",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Live Hosts and Open Ports over Time",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "mappings": [],
          "thresholds": {
            "mode": "percentage",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 80
              }
            ]
          }
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 9,
        "x": 15,
        "y": 16
      },
      "id": 15,
      "options": {
        "displayMode": "gradient",
        "maxVizHeight": 300,
        "minVizHeight": 16,
        "minVizWidth": 8,
        "namePlacement": "auto",
        "orientation": "horizontal",
        "reduceOptions": {
          "calcs": [],
          "fields": "",
          "values": true
        },
        "showUnfilled": true,
        "sizing": "auto",
        "valueMode": "color"
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT ip, \n       (ports_tested * 1.0) / ((end_time - start_time) / 1000) AS avg_ports_per_second\nFROM hosts\nWHERE start_time >= $__from AND end_time < $__to AND ports_tested IS NOT NULL\nORDER BY ip;",
          "queryType": "table",
          "rawQueryText": "SELECT ip, \n       (ports_tested * 1.0) / ((end_time - start_time) / 1000) AS avg_ports_per_second\nFROM hosts\nWHERE start_time >= $__from AND end_time < $__to AND ports_tested IS NOT NULL\nORDER BY ip;",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Port Tested Per Second by Host",
      "type": "bargauge"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "custom": {
            "align": "auto",
            "cellOptions": {
              "type": "auto"
            },
            "inspect": false
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          }
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "port"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 85
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "protocol"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 115
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "ip"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 110
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "http_title"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 537
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "service_info"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 330
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 16,
        "w": 24,
        "x": 0,
        "y": 25
      },
      "id": 1,
      "options": {
        "cellHeight": "sm",
        "footer": {
          "countRows": false,
          "fields": "",
          "reducer": [
            "sum"
          ],
          "show": false
        },
        "showHeader": true,
        "sortBy": [
          {
            "desc": false,
            "displayName": "http_title"
          }
        ]
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT h.ip, p.protocol, p.port, p.service_info, p.http_title, p.ssl_common_name, p.ssl_issuer\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to\nAND p.state = 'open'\n",
          "queryType": "table",
          "rawQueryText": "SELECT h.ip, p.protocol, p.port, p.service_info, p.http_title, p.ssl_common_name, p.ssl_issuer\nFROM ports p\nJOIN hosts h ON p.host_id = h.id\nWHERE h.start_time >= $__from AND h.end_time < $__to\nAND p.state = 'open'\n",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Open Services",
      "type": "table"
    },
    {
      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "${DS_SQLITE}"
      },
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "custom": {
            "align": "auto",
            "cellOptions": {
              "type": "auto"
            },
            "inspect": false
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "#4ecda7",
                "value": null
              },
              {
                "color": "light-purple",
                "value": 80
              }
            ]
          }
        },
        "overrides": [
          {
            "matcher": {
              "id": "byName",
              "options": "command_line"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 447
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "total_hosts"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 108
              },
              {
                "id": "custom.cellOptions",
                "value": {
                  "mode": "basic",
                  "type": "gauge",
                  "valueDisplayMode": "color"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "start_time_utc"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 194
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "nmap_version"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 109
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "total_open_ports"
            },
            "properties": [
              {
                "id": "custom.cellOptions",
                "value": {
                  "mode": "basic",
                  "type": "gauge",
                  "valueDisplayMode": "color"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byName",
              "options": "elapsed_time"
            },
            "properties": [
              {
                "id": "custom.width",
                "value": 118
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 7,
        "w": 18,
        "x": 0,
        "y": 41
      },
      "id": 14,
      "options": {
        "cellHeight": "sm",
        "footer": {
          "countRows": false,
          "fields": "",
          "reducer": [
            "sum"
          ],
          "show": false
        },
        "showHeader": true,
        "sortBy": []
      },
      "pluginVersion": "10.4.1",
      "targets": [
        {
          "datasource": {
            "type": "frser-sqlite-datasource",
            "uid": "${DS_SQLITE}"
          },
          "queryText": "SELECT\n  datetime(start_time, 'unixepoch') AS start_time_utc,\n  nmap_version,\n  command_line,\n  elapsed_time,\n  total_hosts,\n  total_open_ports\nFROM scans\nWHERE\n  start_time >= $__from / 1000\n  AND start_time + elapsed_time < $__to / 1000",
          "queryType": "table",
          "rawQueryText": "SELECT\n  datetime(start_time, 'unixepoch') AS start_time_utc,\n  nmap_version,\n  command_line,\n  elapsed_time,\n  total_hosts,\n  total_open_ports\nFROM scans\nWHERE\n  start_time >= $__from / 1000\n  AND start_time + elapsed_time < $__to / 1000",
          "refId": "A",
          "timeColumns": [
            "time",
            "ts"
          ]
        }
      ],
      "title": "Scans Loaded",
      "type": "table"
    }
  ],
  "refresh": "",
  "schemaVersion": 39,
  "tags": [],
  "templating": {
    "list": []
  },
  "time": {
    "from": "now-90d",
    "to": "now"
  },
  "timepicker": {},
  "timezone": "browser",
  "title": "Nmap Dashboard",
  "uid": "cdikljcadaf40c",
  "version": 58,
  "weekStart": ""
}